package main

import (
	"backend_api/configs"
	"backend_api/internal/initialize"
	"backend_api/internal/middleware"
	"backend_api/internal/router/admin"
	"github.com/gin-gonic/gin"
	"log"
)

func main() {
	// 初始化配置
	if err := configs.Init(); err != nil {
		log.Fatalf("配置初始化失败: %v", err)
	}

	// 初始化数据库连接
	initialize.InitDB()

	// 创建 gin 实例
	r := gin.Default()

	// 全局中间件
	r.Use(middleware.Cors())
	r.Use(middleware.Logger())

	// 注册后台路由
	admin.RegisterRoutes(r)

	// 启动服务器
	adminPort := configs.GetConfig().Admin.Port
	log.Printf("后台 API 服务启动在端口: %s", adminPort)
	if err := r.Run(":" + adminPort); err != nil {
		log.Fatalf("服务器启动失败: %v", err)
	}
}
